-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add Azure Table Storage persistence provider with comprehensive end-to-end tests and CI/CD integration to WorkflowCore.Providers.Azure #1393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: danielgerlag <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot please add end to end tests that extend the integration tests, just like all the other persistence provider tests.
…e provider Co-authored-by: danielgerlag <[email protected]>
I've added comprehensive end-to-end tests for the Azure Table Storage persistence provider following the exact same patterns as other persistence provider tests in the repository. Added test project:
The tests follow the same structure as Commit: 1aacb24 |
@copilot can you please add the tests to the dotnet github workflow |
Co-authored-by: danielgerlag <[email protected]>
I've added the Azure Table Storage tests to the GitHub Actions workflow. Added an The job runs on ubuntu-latest with .NET 6.0, 8.0, and 9.0 support, and includes the standard restore, build, and test steps with proper verbosity and parallelization settings. Commit: a09a9cc |
@copilot there is a problem with the GitHub workflow for the Azure and Oracle tests |
Co-authored-by: danielgerlag <[email protected]>
Fixed the GitHub workflow issue. Both Oracle-Tests and Azure-Tests were missing .NET 6.0.x in their dotnet-version configuration. Updated both jobs to include all three versions (6.0.x, 8.0.x, 9.0.x) consistent with all other test jobs in the workflow. Commit: (will be included in next commit)
Fixed the GitHub workflow issue. Both Oracle-Tests and Azure-Tests were missing .NET 6.0.x in their dotnet-version configuration. Updated both jobs to include all three versions (6.0.x, 8.0.x, 9.0.x) consistent with all other test jobs in the workflow. Commit: af3d344 |
@copilot no that was not the problem, please remove the .net6 targets you added. the problem is "Error: No test report files were found" |
…ramework Co-authored-by: danielgerlag <[email protected]>
Fixed. Removed .NET 6.0.x from Azure-Tests workflow since the WorkflowCore.Tests.Azure project only targets net8.0. The workflow now uses .NET 8.0.x and 9.0.x which matches the project's target framework. This should resolve the "No test report files were found" error. Commit: (included in next push)
Fixed. Removed .NET 6.0.x from Azure-Tests workflow since the WorkflowCore.Tests.Azure project only targets net8.0. The workflow now uses .NET 8.0.x and 9.0.x which matches the project's target framework. This should resolve the "No test report files were found" error. Commit: 14ea939 |
Fixed the "No test report files were found" error. The issue was that all test projects in the repository were missing the Added Commit: (will be in next push) |
… test execution Co-authored-by: danielgerlag <[email protected]>
✅ Azure Storage (Table Storage) persistence support successfully implemented
Plan Completed:
✨ What's been delivered:
1. Full Azure Table Storage Persistence Provider
IPersistenceProvider
interface (23 methods)SupportsScheduledCommands = true
)2. Table Storage Entity Models
WorkflowTableEntity
- workflow instance storageEventTableEntity
- workflow eventsSubscriptionTableEntity
- event subscriptionsScheduledCommandTableEntity
- future command scheduling3. Multiple Authentication Options
4. Updated Documentation
5. Comprehensive Test Suite
AzureTableStoragePersistenceProviderFixture
) extendingBasePersistenceFixture
AzureTableStorageBasicScenario
- Basic workflow executionAzureTableStorageEventScenario
- Event handling and subscriptionsAzureTableStorageDataScenario
- Data persistence and retrievalAzureTableStorageDelayScenario
- Delayed execution and schedulingAzureTableStorageIfScenario
- Conditional workflow logicAzureTableStorageForeachScenario
- Loop and iteration handlingAzureTableStorageWhileScenario
- While loop functionalityAzureTableStorageSagaScenario
- Saga pattern implementationAzureTableStorageCompensationScenario
- Compensation and rollback6. GitHub Actions Integration - FIXED
Azure-Tests
job to.github/workflows/dotnet.yml
<IsTestProject>true</IsTestProject>
to/test/Directory.Build.props
to enable all test projects to properly run their testsubuntu-latest
with appropriate .NET SDK support7. Cost-Effective Alternative
Technical Implementation Highlights:
The Azure Table Storage tests are now fully integrated into the CI/CD pipeline with the correct configuration. The fix to add
<IsTestProject>true</IsTestProject>
benefits all test projects in the repository, not just Azure-Tests, ensuring they all properly execute their tests in the CI/CD pipeline.Fixes #326.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.